home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / mui / bcc_src.lha / Parser / test / EJG.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-23  |  4.3 KB  |  216 lines

  1. /* 
  2.     This file was generated by BCC v2.0
  3.     MUI mode
  4. */
  5.  
  6. /* .bcc_code for MUI mode */
  7.  
  8. /* Defines that help adjusting to any compiler */
  9. #ifdef _DCC
  10. #define REG(x) __ ## x
  11. #define ASM
  12. #define SAVEDS __geta4
  13. #else
  14. #define REG(x) register __ ## x
  15. #ifdef _STORM
  16. #define ASM
  17. #define SAVEDS __saveds
  18. #else
  19. #if defined __MAXON__ || defined __GNUC__
  20. #define ASM
  21. #define SAVEDS
  22. #else
  23. #define ASM    __asm
  24. #define SAVEDS __saveds
  25. #endif
  26. #endif
  27. #endif
  28.  
  29. #ifndef PROTO_MUIMASTER_H
  30. #include <proto/muimaster.h>
  31. #endif
  32.  
  33. #ifndef PROTO_INTUITION_H
  34. #include <proto/intuition.h>
  35. #endif
  36.  
  37. #ifndef PROTO_UTILITY_H
  38. #include <proto/utility.h>
  39. #endif
  40.  
  41. #ifndef STRING_H
  42. #include <string.h>
  43. #endif
  44.  
  45. #ifndef LIBRARIES_BCC_H
  46. #include <libraries/bcc.h>
  47. #endif
  48.  
  49. #ifndef  CLIB_ALIB_PROTOS_H
  50. #include <clib/alib_protos.h>
  51. #endif
  52.  
  53. /* Only for custom methods */
  54. #define CallSuper() DoSuperMethodA(cl, obj, msg)
  55. #define GetData() INST_DATA(cl, obj)
  56.  
  57. #include <proto/graphics.h>
  58.  
  59. #include "EJG.h"
  60.  
  61.  static unsigned long mEJGOM_NEW( struct IClass *cl, Object *obj, struct opSet* msg )
  62. {
  63.  unsigned long _ret;
  64.  EJGData *data, _tdata;
  65.  data = &_tdata;
  66.  memset( data, 0, sizeof( EJGData ) );
  67.  obj = (Object*)BCC_DoSuperNew( cl, obj,
  68.  
  69.         MUIA_Background, MUII_BACKGROUND,
  70.         MUIA_Frame, MUIV_Frame_ReadList
  71. ,
  72.  TAG_MORE, (unsigned long)msg->ops_AttrList,
  73.  TAG_DONE );
  74.  _ret = (unsigned long)obj;
  75.  if( !obj ) return 0;
  76.  data = INST_DATA( cl, obj );
  77.  memcpy( data, &_tdata, sizeof( EJGData ) );
  78. {
  79.  /* UC Beg */
  80.  
  81.  
  82.  
  83. }
  84.  /* UC End */
  85. OM_NEW_exit:
  86. return _ret;
  87. }
  88.  
  89.   static unsigned long mEJGMUIM_AskMinMax( struct IClass *cl, Object *obj, struct MUIP_AskMinMax* msg )
  90. {
  91.  unsigned long _ret = 1;
  92.  _ret = DoSuperMethodA( cl, obj, (Msg)msg );
  93. {
  94.  /* UC Beg */
  95.  
  96.     msg->MinMaxInfo->MinWidth  += 50;
  97.     msg->MinMaxInfo->DefWidth  += 120;
  98.     msg->MinMaxInfo->MaxWidth  += MBQ_MUI_MAXMAX;
  99.  
  100.     msg->MinMaxInfo->MinHeight += 6;
  101.     msg->MinMaxInfo->DefHeight += 6;
  102.     msg->MinMaxInfo->MaxHeight += 6;
  103.  
  104.  
  105. }
  106.  /* UC End */
  107. MUIM_AskMinMax_exit:
  108. return _ret;
  109. }
  110.  
  111.  static unsigned long mEJGMUIM_Draw( struct IClass *cl, Object *obj, struct MUIP_Draw* msg )
  112. {
  113.  unsigned long _ret = 1;
  114.  EJGData *data = INST_DATA( cl, obj );
  115.  _ret = DoSuperMethodA( cl, obj, (Msg)msg );
  116. {
  117.  /* UC Beg */
  118.  
  119.  
  120.     if ( msg->flags & MADF_DRAWUPDATE ) {
  121.  
  122.         SetBPen( _rp( obj ), 0 );
  123.         ScrollRaster( _rp( obj ), 1, 0, _mleft( obj )+1, _mtop( obj ), _mright( obj ), _mbottom( obj ) );
  124.         if( data->hit ) {
  125.             SetAPen( _rp( obj ), 2 );
  126.             WritePixel( _rp( obj ), _mright( obj ), _mtop( obj ) + 1 );
  127.         }
  128.         else {
  129.             SetAPen( _rp( obj ), 1 );
  130.             WritePixel( _rp( obj ), _mright( obj ), _mtop( obj ) + 4 );
  131.         }
  132.  
  133.         data->hit = 0;
  134.  
  135.     }
  136.     
  137.  
  138. }
  139.  /* UC End */
  140. MUIM_Draw_exit:
  141. return _ret;
  142. }
  143.  
  144.  static unsigned long mEJGMUIM_Show( struct IClass *cl, Object *obj, Msg msg )
  145. {
  146.  unsigned long _ret = 1;
  147.  EJGData *data = INST_DATA( cl, obj );
  148.  _ret = DoSuperMethodA( cl, obj, (Msg)msg );
  149.  if( !_ret ) return 0;
  150. {
  151.  /* UC Beg */
  152.  
  153.     data->render = 1;
  154.  
  155. }
  156.  /* UC End */
  157. MUIM_Show_exit:
  158. return _ret;
  159. }
  160.  
  161.  static unsigned long mEJGMUIM_Hide( struct IClass *cl, Object *obj, Msg msg )
  162. {
  163.  unsigned long _ret = 1;
  164.  EJGData *data = INST_DATA( cl, obj );
  165. {
  166.  /* UC Beg */
  167.  
  168.     data->render = 0;
  169.  
  170. }
  171.  /* UC End */
  172. MUIM_Hide_exit:
  173.  if( !_ret ) return 0;
  174.  _ret = DoSuperMethodA( cl, obj, (Msg)msg );
  175. return _ret;
  176. }
  177.  
  178. static unsigned long mEJGAnim( struct IClass *cl, Object *obj,  struct { unsigned long MethodID; unsigned long sig ; } *msg )
  179. {
  180.  unsigned long _ret = 1;
  181.  EJGData *data = INST_DATA( cl, obj );
  182. {
  183.  /* UC Beg */
  184.  
  185.     if( data->render ) {
  186.         if( (msg->sig) ) data->hit = 1;
  187.         MUI_Redraw( obj, MADF_DRAWUPDATE );
  188.     }
  189.  
  190. }
  191.  /* UC End */
  192. Anim_exit:
  193. return _ret;
  194. }
  195.  
  196. /* MUI - EJG class dispatcher */
  197.  
  198.  
  199. static unsigned long SAVEDS ASM EJG_Dispatcher( REG(a0) struct IClass *cl, REG(a2) Object *obj, REG(a1) Msg msg )
  200. {
  201.     switch( msg->MethodID ) {
  202.         case MUIM_EJG_Anim: return mEJGAnim( cl, obj, (void*)msg );
  203.         case OM_NEW: return mEJGOM_NEW( cl, obj, (struct opSet*)msg );
  204.         case MUIM_AskMinMax: return mEJGMUIM_AskMinMax( cl, obj, (struct MUIP_AskMinMax*)msg );
  205.         case MUIM_Draw: return mEJGMUIM_Draw( cl, obj, (struct MUIP_Draw*)msg );
  206.         case MUIM_Show: return mEJGMUIM_Show( cl, obj, (Msg)msg );
  207.         case MUIM_Hide: return mEJGMUIM_Hide( cl, obj, (Msg)msg );
  208.     }
  209.     return( DoSuperMethodA( cl, obj, msg ) );
  210. }
  211.  
  212. struct MUI_CustomClass *EJG_Create( void )
  213. {
  214.     return MUI_CreateCustomClass( NULL, MUIC_Area, NULL, sizeof( EJGData ), EJG_Dispatcher );
  215. }
  216.